{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542\\t/front-api/bill/create\\t8\\t1057.31...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644\\t/front-api/bill/create\\t5\\t749.12\\t103...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742\\t/front-api/bill/create\\t5\\t845.84\\t136...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808\\t/front-api/bill/create\\t9\\t1305.52\\t90...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943\\t/front-api/bill/create\\t3\\t568.89\\t138...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                   0\n",
       "0  2019162542\\t/front-api/bill/create\\t8\\t1057.31...\n",
       "1  162644\\t/front-api/bill/create\\t5\\t749.12\\t103...\n",
       "2  162742\\t/front-api/bill/create\\t5\\t845.84\\t136...\n",
       "3  162808\\t/front-api/bill/create\\t9\\t1305.52\\t90...\n",
       "4  162943\\t/front-api/bill/create\\t3\\t568.89\\t138..."
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('./log.txt', header = None)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0                       1  2        3       4       5      6   7  \\\n",
       "0  2019162542  /front-api/bill/create  8  1057.31   88.75  177.72  132.0  60   \n",
       "1      162644  /front-api/bill/create  5   749.12  103.79  240.38  149.0  60   \n",
       "2      162742  /front-api/bill/create  5   845.84  136.31  225.73  169.0  60   \n",
       "3      162808  /front-api/bill/create  9  1305.52   90.12  196.61  145.0  60   \n",
       "4      162943  /front-api/bill/create  3   568.89  138.45  232.02  189.0  60   \n",
       "\n",
       "                     8  \n",
       "0  2018-11-01 00:00:07  \n",
       "1  2018-11-01 00:01:07  \n",
       "2  2018-11-01 00:02:07  \n",
       "3  2018-11-01 00:03:07  \n",
       "4  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('./log.txt', header = None, sep = '\\t')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.columns = ['id', 'api', 'count', 'res_time_sum', 'res_time_min', 'res_time_max', 'res_time_avg', 'interval', 'created_at']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id                     api  count  res_time_sum  res_time_min  \\\n",
       "0  2019162542  /front-api/bill/create      8       1057.31         88.75   \n",
       "1      162644  /front-api/bill/create      5        749.12        103.79   \n",
       "\n",
       "   res_time_max  res_time_avg  interval           created_at  \n",
       "0        177.72         132.0        60  2018-11-01 00:00:07  \n",
       "1        240.38         149.0        60  2018-11-01 00:01:07  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>175164</th>\n",
       "      <td>13099175</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>1</td>\n",
       "      <td>293.28</td>\n",
       "      <td>293.28</td>\n",
       "      <td>293.28</td>\n",
       "      <td>293.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-26 01:32:16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>125029</th>\n",
       "      <td>9257444</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>10</td>\n",
       "      <td>5303.88</td>\n",
       "      <td>90.98</td>\n",
       "      <td>1603.64</td>\n",
       "      <td>530.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-03-29 22:49:14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16980</th>\n",
       "      <td>1675150</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>10</td>\n",
       "      <td>1579.19</td>\n",
       "      <td>107.12</td>\n",
       "      <td>320.94</td>\n",
       "      <td>157.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-20 19:34:46</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9026</th>\n",
       "      <td>971765</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>13</td>\n",
       "      <td>2045.71</td>\n",
       "      <td>120.22</td>\n",
       "      <td>193.50</td>\n",
       "      <td>157.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-11 15:43:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27749</th>\n",
       "      <td>2648194</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>4</td>\n",
       "      <td>526.65</td>\n",
       "      <td>78.74</td>\n",
       "      <td>170.48</td>\n",
       "      <td>131.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-12-03 12:38:13</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              id                     api  count  res_time_sum  res_time_min  \\\n",
       "175164  13099175  /front-api/bill/create      1        293.28        293.28   \n",
       "125029   9257444  /front-api/bill/create     10       5303.88         90.98   \n",
       "16980    1675150  /front-api/bill/create     10       1579.19        107.12   \n",
       "9026      971765  /front-api/bill/create     13       2045.71        120.22   \n",
       "27749    2648194  /front-api/bill/create      4        526.65         78.74   \n",
       "\n",
       "        res_time_max  res_time_avg  interval           created_at  \n",
       "175164        293.28         293.0        60  2019-05-26 01:32:16  \n",
       "125029       1603.64         530.0        60  2019-03-29 22:49:14  \n",
       "16980         320.94         157.0        60  2018-11-20 19:34:46  \n",
       "9026          193.50         157.0        60  2018-11-11 15:43:28  \n",
       "27749         170.48         131.0        60  2018-12-03 12:38:13  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sample(5) # 随机采样，多次执行，数据不一样"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(179496, 9)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                int64\n",
       "api              object\n",
       "count             int64\n",
       "res_time_sum    float64\n",
       "res_time_min    float64\n",
       "res_time_max    float64\n",
       "res_time_avg    float64\n",
       "interval          int64\n",
       "created_at       object\n",
       "dtype: object"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 9 columns):\n",
      "id              179496 non-null int64\n",
      "api             179496 non-null object\n",
      "count           179496 non-null int64\n",
      "res_time_sum    179496 non-null float64\n",
      "res_time_min    179496 non-null float64\n",
      "res_time_max    179496 non-null float64\n",
      "res_time_avg    179496 non-null float64\n",
      "interval        179496 non-null int64\n",
      "created_at      179496 non-null object\n",
      "dtypes: float64(4), int64(3), object(2)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info() # 查看磁盘（内存）占用情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                     179496\n",
       "unique                         1\n",
       "top       /front-api/bill/create\n",
       "freq                      179496\n",
       "Name: api, dtype: object"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['api'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id  count  res_time_sum  res_time_min  res_time_max  res_time_avg  \\\n",
       "0  2019162542      8       1057.31         88.75        177.72         132.0   \n",
       "1      162644      5        749.12        103.79        240.38         149.0   \n",
       "2      162742      5        845.84        136.31        225.73         169.0   \n",
       "3      162808      9       1305.52         90.12        196.61         145.0   \n",
       "4      162943      3        568.89        138.45        232.02         189.0   \n",
       "\n",
       "   interval           created_at  \n",
       "0        60  2018-11-01 00:00:07  \n",
       "1        60  2018-11-01 00:01:07  \n",
       "2        60  2018-11-01 00:02:07  \n",
       "3        60  2018-11-01 00:03:07  \n",
       "4        60  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.drop('api', axis = 1) # 指定删除某一列，如果不赋值，则df不变\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 8 columns):\n",
      "id              179496 non-null int64\n",
      "count           179496 non-null int64\n",
      "res_time_sum    179496 non-null float64\n",
      "res_time_min    179496 non-null float64\n",
      "res_time_max    179496 non-null float64\n",
      "res_time_avg    179496 non-null float64\n",
      "interval        179496 non-null int64\n",
      "created_at      179496 non-null object\n",
      "dtypes: float64(4), int64(3), object(1)\n",
      "memory usage: 11.0+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                  179496\n",
       "unique                 179496\n",
       "top       2019-01-30 15:40:48\n",
       "freq                        1\n",
       "Name: created_at, dtype: object"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['created_at'].describe() # 查看时间列是否存在重复"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [id, count, res_time_sum, res_time_min, res_time_max, res_time_avg, interval, created_at]\n",
       "Index: []"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df.created_at == '2019-05-01'] # 时间为字符串格式，不能模糊查询"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>153089</th>\n",
       "      <td>11406128</td>\n",
       "      <td>6</td>\n",
       "      <td>2105.08</td>\n",
       "      <td>125.74</td>\n",
       "      <td>992.46</td>\n",
       "      <td>350.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153090</th>\n",
       "      <td>11406236</td>\n",
       "      <td>7</td>\n",
       "      <td>2579.11</td>\n",
       "      <td>76.55</td>\n",
       "      <td>987.47</td>\n",
       "      <td>368.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:01:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153091</th>\n",
       "      <td>11406347</td>\n",
       "      <td>7</td>\n",
       "      <td>1277.79</td>\n",
       "      <td>109.65</td>\n",
       "      <td>236.73</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:02:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153092</th>\n",
       "      <td>11406446</td>\n",
       "      <td>7</td>\n",
       "      <td>2137.20</td>\n",
       "      <td>131.55</td>\n",
       "      <td>920.52</td>\n",
       "      <td>305.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:03:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153093</th>\n",
       "      <td>11406488</td>\n",
       "      <td>13</td>\n",
       "      <td>2948.70</td>\n",
       "      <td>86.42</td>\n",
       "      <td>491.31</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:04:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153968</th>\n",
       "      <td>11475363</td>\n",
       "      <td>6</td>\n",
       "      <td>1083.97</td>\n",
       "      <td>70.85</td>\n",
       "      <td>262.22</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:55:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153969</th>\n",
       "      <td>11475483</td>\n",
       "      <td>4</td>\n",
       "      <td>840.00</td>\n",
       "      <td>117.31</td>\n",
       "      <td>382.63</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:56:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153970</th>\n",
       "      <td>11475550</td>\n",
       "      <td>2</td>\n",
       "      <td>295.51</td>\n",
       "      <td>101.71</td>\n",
       "      <td>193.80</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:57:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153971</th>\n",
       "      <td>11475597</td>\n",
       "      <td>2</td>\n",
       "      <td>431.99</td>\n",
       "      <td>84.43</td>\n",
       "      <td>347.56</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:58:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153972</th>\n",
       "      <td>11475664</td>\n",
       "      <td>3</td>\n",
       "      <td>428.84</td>\n",
       "      <td>103.58</td>\n",
       "      <td>206.57</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:59:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>884 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              id  count  res_time_sum  res_time_min  res_time_max  \\\n",
       "153089  11406128      6       2105.08        125.74        992.46   \n",
       "153090  11406236      7       2579.11         76.55        987.47   \n",
       "153091  11406347      7       1277.79        109.65        236.73   \n",
       "153092  11406446      7       2137.20        131.55        920.52   \n",
       "153093  11406488     13       2948.70         86.42        491.31   \n",
       "...          ...    ...           ...           ...           ...   \n",
       "153968  11475363      6       1083.97         70.85        262.22   \n",
       "153969  11475483      4        840.00        117.31        382.63   \n",
       "153970  11475550      2        295.51        101.71        193.80   \n",
       "153971  11475597      2        431.99         84.43        347.56   \n",
       "153972  11475664      3        428.84        103.58        206.57   \n",
       "\n",
       "        res_time_avg  interval           created_at  \n",
       "153089         350.0        60  2019-05-01 00:00:48  \n",
       "153090         368.0        60  2019-05-01 00:01:48  \n",
       "153091         182.0        60  2019-05-01 00:02:48  \n",
       "153092         305.0        60  2019-05-01 00:03:48  \n",
       "153093         226.0        60  2019-05-01 00:04:48  \n",
       "...              ...       ...                  ...  \n",
       "153968         180.0        60  2019-05-01 23:55:49  \n",
       "153969         210.0        60  2019-05-01 23:56:49  \n",
       "153970         147.0        60  2019-05-01 23:57:49  \n",
       "153971         215.0        60  2019-05-01 23:58:49  \n",
       "153972         142.0        60  2019-05-01 23:59:49  \n",
       "\n",
       "[884 rows x 8 columns]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[(df.created_at >= '2019-05-01') & (df.created_at < '2019-05-02')]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 修改索引为时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RangeIndex(start=0, stop=179496, step=1)"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index = df['created_at']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 179496 entries, 2018-11-01 00:00:07 to 2019-05-30 23:10:21\n",
      "Data columns (total 8 columns):\n",
      "id              179496 non-null int64\n",
      "count           179496 non-null int64\n",
      "res_time_sum    179496 non-null float64\n",
      "res_time_min    179496 non-null float64\n",
      "res_time_max    179496 non-null float64\n",
      "res_time_avg    179496 non-null float64\n",
      "interval        179496 non-null int64\n",
      "created_at      179496 non-null object\n",
      "dtypes: float64(4), int64(3), object(1)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['2018-11-01 00:00:07', '2018-11-01 00:01:07', '2018-11-01 00:02:07',\n",
       "       '2018-11-01 00:03:07', '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "       '2018-11-01 00:06:07', '2018-11-01 00:07:07', '2018-11-01 00:08:07',\n",
       "       '2018-11-01 00:09:07',\n",
       "       ...\n",
       "       '2019-05-30 23:01:21', '2019-05-30 23:02:21', '2019-05-30 23:03:21',\n",
       "       '2019-05-30 23:04:21', '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "       '2019-05-30 23:07:21', '2019-05-30 23:08:21', '2019-05-30 23:09:21',\n",
       "       '2019-05-30 23:10:21'],\n",
       "      dtype='object', name='created_at', length=179496)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 修改时间索引 字符串改为时间类型\n",
    "df.index = pd.to_datetime(df.created_at)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2018-11-01 00:00:07', '2018-11-01 00:01:07',\n",
       "               '2018-11-01 00:02:07', '2018-11-01 00:03:07',\n",
       "               '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "               '2018-11-01 00:06:07', '2018-11-01 00:07:07',\n",
       "               '2018-11-01 00:08:07', '2018-11-01 00:09:07',\n",
       "               ...\n",
       "               '2019-05-30 23:01:21', '2019-05-30 23:02:21',\n",
       "               '2019-05-30 23:03:21', '2019-05-30 23:04:21',\n",
       "               '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "               '2019-05-30 23:07:21', '2019-05-30 23:08:21',\n",
       "               '2019-05-30 23:09:21', '2019-05-30 23:10:21'],\n",
       "              dtype='datetime64[ns]', name='created_at', length=179496, freq=None)"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:00:48</th>\n",
       "      <td>11406128</td>\n",
       "      <td>6</td>\n",
       "      <td>2105.08</td>\n",
       "      <td>125.74</td>\n",
       "      <td>992.46</td>\n",
       "      <td>350.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:01:48</th>\n",
       "      <td>11406236</td>\n",
       "      <td>7</td>\n",
       "      <td>2579.11</td>\n",
       "      <td>76.55</td>\n",
       "      <td>987.47</td>\n",
       "      <td>368.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:01:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:02:48</th>\n",
       "      <td>11406347</td>\n",
       "      <td>7</td>\n",
       "      <td>1277.79</td>\n",
       "      <td>109.65</td>\n",
       "      <td>236.73</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:02:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:03:48</th>\n",
       "      <td>11406446</td>\n",
       "      <td>7</td>\n",
       "      <td>2137.20</td>\n",
       "      <td>131.55</td>\n",
       "      <td>920.52</td>\n",
       "      <td>305.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:03:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:04:48</th>\n",
       "      <td>11406488</td>\n",
       "      <td>13</td>\n",
       "      <td>2948.70</td>\n",
       "      <td>86.42</td>\n",
       "      <td>491.31</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:04:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:55:49</th>\n",
       "      <td>11475363</td>\n",
       "      <td>6</td>\n",
       "      <td>1083.97</td>\n",
       "      <td>70.85</td>\n",
       "      <td>262.22</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:55:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:56:49</th>\n",
       "      <td>11475483</td>\n",
       "      <td>4</td>\n",
       "      <td>840.00</td>\n",
       "      <td>117.31</td>\n",
       "      <td>382.63</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:56:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:57:49</th>\n",
       "      <td>11475550</td>\n",
       "      <td>2</td>\n",
       "      <td>295.51</td>\n",
       "      <td>101.71</td>\n",
       "      <td>193.80</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:57:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:58:49</th>\n",
       "      <td>11475597</td>\n",
       "      <td>2</td>\n",
       "      <td>431.99</td>\n",
       "      <td>84.43</td>\n",
       "      <td>347.56</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:58:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:59:49</th>\n",
       "      <td>11475664</td>\n",
       "      <td>3</td>\n",
       "      <td>428.84</td>\n",
       "      <td>103.58</td>\n",
       "      <td>206.57</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:59:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>884 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           id  count  res_time_sum  res_time_min  \\\n",
       "created_at                                                         \n",
       "2019-05-01 00:00:48  11406128      6       2105.08        125.74   \n",
       "2019-05-01 00:01:48  11406236      7       2579.11         76.55   \n",
       "2019-05-01 00:02:48  11406347      7       1277.79        109.65   \n",
       "2019-05-01 00:03:48  11406446      7       2137.20        131.55   \n",
       "2019-05-01 00:04:48  11406488     13       2948.70         86.42   \n",
       "...                       ...    ...           ...           ...   \n",
       "2019-05-01 23:55:49  11475363      6       1083.97         70.85   \n",
       "2019-05-01 23:56:49  11475483      4        840.00        117.31   \n",
       "2019-05-01 23:57:49  11475550      2        295.51        101.71   \n",
       "2019-05-01 23:58:49  11475597      2        431.99         84.43   \n",
       "2019-05-01 23:59:49  11475664      3        428.84        103.58   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval           created_at  \n",
       "created_at                                                                      \n",
       "2019-05-01 00:00:48        992.46         350.0        60  2019-05-01 00:00:48  \n",
       "2019-05-01 00:01:48        987.47         368.0        60  2019-05-01 00:01:48  \n",
       "2019-05-01 00:02:48        236.73         182.0        60  2019-05-01 00:02:48  \n",
       "2019-05-01 00:03:48        920.52         305.0        60  2019-05-01 00:03:48  \n",
       "2019-05-01 00:04:48        491.31         226.0        60  2019-05-01 00:04:48  \n",
       "...                           ...           ...       ...                  ...  \n",
       "2019-05-01 23:55:49        262.22         180.0        60  2019-05-01 23:55:49  \n",
       "2019-05-01 23:56:49        382.63         210.0        60  2019-05-01 23:56:49  \n",
       "2019-05-01 23:57:49        193.80         147.0        60  2019-05-01 23:57:49  \n",
       "2019-05-01 23:58:49        347.56         215.0        60  2019-05-01 23:58:49  \n",
       "2019-05-01 23:59:49        206.57         142.0        60  2019-05-01 23:59:49  \n",
       "\n",
       "[884 rows x 8 columns]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[ '2019-05-01']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.drop(['id', 'interval'], axis = 1)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 179496 entries, 2018-11-01 00:00:07 to 2019-05-30 23:10:21\n",
      "Data columns (total 6 columns):\n",
      "count           179496 non-null int64\n",
      "res_time_sum    179496 non-null float64\n",
      "res_time_min    179496 non-null float64\n",
      "res_time_max    179496 non-null float64\n",
      "res_time_avg    179496 non-null float64\n",
      "created_at      179496 non-null object\n",
      "dtypes: float64(4), int64(1), object(1)\n",
      "memory usage: 9.6+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>7.175909</td>\n",
       "      <td>1393.177832</td>\n",
       "      <td>108.419626</td>\n",
       "      <td>359.880374</td>\n",
       "      <td>187.812208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>4.325160</td>\n",
       "      <td>1499.486073</td>\n",
       "      <td>79.640693</td>\n",
       "      <td>638.919827</td>\n",
       "      <td>224.464813</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>3.210000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>36.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>4.000000</td>\n",
       "      <td>607.707500</td>\n",
       "      <td>83.410000</td>\n",
       "      <td>198.280000</td>\n",
       "      <td>144.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>7.000000</td>\n",
       "      <td>1154.905000</td>\n",
       "      <td>97.120000</td>\n",
       "      <td>256.090000</td>\n",
       "      <td>167.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>10.000000</td>\n",
       "      <td>1834.117500</td>\n",
       "      <td>116.990000</td>\n",
       "      <td>374.410000</td>\n",
       "      <td>202.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>31.000000</td>\n",
       "      <td>142650.550000</td>\n",
       "      <td>18896.640000</td>\n",
       "      <td>142468.270000</td>\n",
       "      <td>71325.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               count   res_time_sum   res_time_min   res_time_max  \\\n",
       "count  179496.000000  179496.000000  179496.000000  179496.000000   \n",
       "mean        7.175909    1393.177832     108.419626     359.880374   \n",
       "std         4.325160    1499.486073      79.640693     638.919827   \n",
       "min         1.000000      36.550000       3.210000      36.550000   \n",
       "25%         4.000000     607.707500      83.410000     198.280000   \n",
       "50%         7.000000    1154.905000      97.120000     256.090000   \n",
       "75%        10.000000    1834.117500     116.990000     374.410000   \n",
       "max        31.000000  142650.550000   18896.640000  142468.270000   \n",
       "\n",
       "        res_time_avg  \n",
       "count  179496.000000  \n",
       "mean      187.812208  \n",
       "std       224.464813  \n",
       "min        36.000000  \n",
       "25%       144.000000  \n",
       "50%       167.000000  \n",
       "75%       202.000000  \n",
       "max     71325.000000  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['count'].hist() # 初步分析count，直方图\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAD4CAYAAADsKpHdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAY2ElEQVR4nO3df5BV533f8fenYMsYBQkJ65awtEti4kaA65gtpXWdrIoTkcgTaEd00MgRSuhsy2BXacnEkPyhtDPM4DSyEjkVM9ugAWxZiMhOYOohNYNyR8kMAoMiZwWYaBuotECgqmTCuhbW4m//OA/t2cvd3cO9u/cXn9fMzj33+zzP2efL2eW758c9RxGBmZnZ32n2BMzMrDW4IJiZGeCCYGZmiQuCmZkBLghmZpZMb/YEajVnzpzo7u4eFfve977HzJkzmzOhSeZcWk+n5AHOpVU1Ipfjx4+/FREfqtbWtgWhu7ubY8eOjYqVy2V6e3ubM6FJ5lxaT6fkAc6lVTUiF0n/c6w2HzIyMzPABcHMzBIXBDMzA1wQzMwscUEwMzPABcHMzBIXBDMzA1wQzMwscUEwMzOgjT+pXI/uzd8o1O/stgemeCZmZq3DewhmZgYUKAiSnpF0SdJrFfHPSTot6YSk387Ft0gaTG335+JLJQ2ktqckKcVvk/R8ih+R1D156ZmZWVFF9hB2AivzAUn3AauAj0bEIuB3UvxeYC2wKI15WtK0NGw70AcsTF/X17keeCciPgw8CXyhjnzMzKxGExaEiHgJeLsivAHYFhFXU59LKb4K2BMRVyPiDDAILJM0F5gVEYcjIoDdwOrcmF1p+QVgxfW9BzMza5xaTyr/BPBJSVuBd4Ffi4hvAfOAl3P9hlLsvbRcGSe9vgkQESOSLgN3A29VflNJfWR7GZRKJcrl8qj24eHhG2LVbFoyMmEfoNC6pkrRXNpBp+TSKXmAc2lVzc6l1oIwHZgNLAf+EbBX0o8B1f6yj3HiTNA2OhjRD/QD9PT0ROV9w4veS/zRolcZPTzxuqaK7/HeejolD3AurarZudR6ldEQ8PXIHAV+CMxJ8fm5fl3A+RTvqhInP0bSdOAObjxEZWZmU6zWgvDHwD8HkPQTwPvJDvHsB9amK4cWkJ08PhoRF4Arkpan8wOPAPvSuvYD69Lyg8CL6TyDmZk10ISHjCQ9B/QCcyQNAY8DzwDPpEtRfwCsS/+Jn5C0FzgJjAAbI+JaWtUGsiuWZgAH0hfADuDLkgbJ9gzWTk5qZmZ2MyYsCBHx0BhNnxmj/1Zga5X4MWBxlfi7wJqJ5mFmZlPrlrx1xa3It+sws4m4ILS5ov/Rm5lNxPcyMjMzwAXBzMwSFwQzMwNcEMzMLHFBMDMzwAXBzMwSFwQzMwNcEMzMLPEH02wUf6LZ7NblgtCiBs5dLvzcBjOzyeBDRmZmBrggmJlZ4oJgZmaAC4KZmSUTFgRJz0i6lJ6OVtn2a5JC0pxcbIukQUmnJd2fiy+VNJDankqP0iQ9bvP5FD8iqXtyUjMzs5tRZA9hJ7CyMihpPvCzwBu52L1kj8BclMY8LWlaat4O9JE9Z3lhbp3rgXci4sPAk8AXaknEzMzqM2FBiIiXyJ51XOlJ4NeByMVWAXsi4mpEnAEGgWWS5gKzIuJwevbybmB1bsyutPwCsOL63oOZmTVOTZ9DkPSLwLmI+HbF/93zgJdz74dS7L20XBm/PuZNgIgYkXQZuBt4q8r37SPby6BUKlEul0e1Dw8P3xCrZtOSkQn7AIXWNVVKM4rPsxlu5t+m6HZpdZ2SBziXVtXsXG66IEj6IPCbwM9Va64Si3Hi4425MRjRD/QD9PT0RG9v76j2crlMZayaoh/4OvvwxOuaKl96dh9PDLTu5wZv5t+m6HZpdZ2SBziXVtXsXGq5yujHgQXAtyWdBbqAVyT9XbK//Ofn+nYB51O8q0qc/BhJ04E7qH6IyszMptBNF4SIGIiIeyKiOyK6yf5D/3hE/A2wH1ibrhxaQHby+GhEXACuSFqezg88AuxLq9wPrEvLDwIvpvMMZmbWQEUuO30OOAx8RNKQpPVj9Y2IE8Be4CTwJ8DGiLiWmjcAf0B2ovl/AAdSfAdwt6RB4D8Am2vMxczM6jDhQeqIeGiC9u6K91uBrVX6HQMWV4m/C6yZaB5mZja1/EllMzMDXBDMzCxp3esaO1TRB9BsWjLFEzEzq+CCYDUpWtgAdq6cOYUzMbPJ4kNGZmYGuCCYmVnigmBmZoALgpmZJS4IZmYGuCCYmVniy07HcTOXVp7d9sAUzsTMbOp5D8HMzAAXBDMzS3zIaJLczOElM7NW5D0EMzMDXBDMzCwp8sS0ZyRdkvRaLvafJX1H0l9K+iNJd+batkgalHRa0v25+FJJA6ntqfQoTdLjNp9P8SOSuic3RTMzK6LIHsJOYGVF7CCwOCI+CvwVsAVA0r3AWmBRGvO0pGlpzHagj+w5ywtz61wPvBMRHwaeBL5QazJmZla7CQtCRLwEvF0R+2ZEjKS3LwNdaXkVsCcirkbEGbLnJy+TNBeYFRGHIyKA3cDq3JhdafkFYMX1vQczM2ucybjK6FeA59PyPLICcd1Qir2Xlivj18e8CRARI5IuA3cDb1V+I0l9ZHsZlEolyuXyqPbh4eEbYtVsWjIyYZ9mK81oj3kWUXS7tLpOyQOcS6tqdi51FQRJvwmMAM9eD1XpFuPExxtzYzCiH+gH6Onpid7e3lHt5XKZylg1j7bBJaKblozwxEBnXBW8c+XMQtul1RX9+WoHzqU1NTuXmq8ykrQO+DTwcDoMBNlf/vNz3bqA8yneVSU+aoyk6cAdVByiMjOzqVfTn6CSVgKfB34mIv5Prmk/8FVJXwR+lOzk8dGIuCbpiqTlwBHgEeBLuTHrgMPAg8CLuQJjHWDg3OVCe2W+H5RZc01YECQ9B/QCcyQNAY+TXVV0G3Awnf99OSL+bUSckLQXOEl2KGljRFxLq9pAdsXSDOBA+gLYAXxZ0iDZnsHayUnNzMxuxoQFISIeqhLeMU7/rcDWKvFjwOIq8XeBNRPNw8zMppY/qWxmZoALgpmZJS4IZmYGuCCYmVnigmBmZoALgpmZJS4IZmYGuCCYmVnigmBmZoALgpmZJS4IZmYGuCCYmVnigmBmZoALgpmZJS4IZmYGuCCYmVnigmBmZkCBgiDpGUmXJL2Wi90l6aCk19Pr7FzbFkmDkk5Luj8XXyppILU9pfTsTUm3SXo+xY9I6p7cFM3MrIgiewg7gZUVsc3AoYhYCBxK75F0L9kzkRelMU9LmpbGbAf6gIXp6/o61wPvRMSHgSeBL9SajJmZ1W7CghARLwFvV4RXAbvS8i5gdS6+JyKuRsQZYBBYJmkuMCsiDkdEALsrxlxf1wvAiut7D2Zm1jjTaxxXiogLABFxQdI9KT4PeDnXbyjF3kvLlfHrY95M6xqRdBm4G3ir8ptK6iPby6BUKlEul0e1Dw8P3xCrZtOSkQn7NFtpRnvMs4iiuRTZds1U9OerHTiX1tTsXGotCGOp9pd9jBMfb8yNwYh+oB+gp6cnent7R7WXy2UqY9U8uvkbE/Zptk1LRnhiYLI3T3MUzeXsw71TP5k6FP35agfOpTU1O5darzK6mA4DkV4vpfgQMD/Xrws4n+JdVeKjxkiaDtzBjYeozMxsitX6J+h+YB2wLb3uy8W/KumLwI+SnTw+GhHXJF2RtBw4AjwCfKliXYeBB4EX03kGu8V0F9xzO7vtgSmeidmtacKCIOk5oBeYI2kIeJysEOyVtB54A1gDEBEnJO0FTgIjwMaIuJZWtYHsiqUZwIH0BbAD+LKkQbI9g7WTkpmZmd2UCQtCRDw0RtOKMfpvBbZWiR8DFleJv0sqKGZm1jz+pLKZmQEuCGZmlrggmJkZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4IJgZmZJXQVB0r+XdELSa5Kek/QBSXdJOijp9fQ6O9d/i6RBSacl3Z+LL5U0kNqekqR65mVmZjev5oIgaR7w74CeiFgMTCN7/OVm4FBELAQOpfdIuje1LwJWAk9LmpZWtx3oI3sG88LUbmZmDVTvIaPpwAxJ04EPAueBVcCu1L4LWJ2WVwF7IuJqRJwBBoFlkuYCsyLicEQEsDs3xszMGkTZ/8E1DpYeI3t+8veBb0bEw5K+GxF35vq8ExGzJf0+8HJEfCXFdwAHgLPAtoj4VIp/Evh8RHy6yvfrI9uToFQqLd2zZ8+o9uHhYW6//fYJ5z1w7nIt6TZUaQZc/H6zZzE5JjuXJfPumLyV3YSiP1/twLm0pkbkct999x2PiJ5qbdNrXWk6N7AKWAB8F/hDSZ8Zb0iVWIwTvzEY0Q/0A/T09ERvb++o9nK5TGWsmkc3f2PCPs22ackITwzUvHlayqTnMvC9Qt3Obntg8r4nxX++2oFzaU3NzqWeQ0afAs5ExP+KiPeArwP/FLiYDgORXi+l/kPA/Nz4LrJDTENpuTJuZmYNVE9BeANYLumD6aqgFcApYD+wLvVZB+xLy/uBtZJuk7SA7OTx0Yi4AFyRtDyt55HcGDMza5Ca9+Mj4oikF4BXgBHgL8gO59wO7JW0nqxorEn9T0jaC5xM/TdGxLW0ug3ATmAG2XmFA7XOy8zMalPXgd2IeBx4vCJ8lWxvoVr/rWQnoSvjx4DF9czFzMzq408qm5kZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4IJgZmaJC4KZmQEuCGZmltRVECTdKekFSd+RdErSP5F0l6SDkl5Pr7Nz/bdIGpR0WtL9ufhSSQOp7an0KE0zM2ugevcQfg/4k4j4B8A/JHum8mbgUEQsBA6l90i6F1gLLAJWAk9LmpbWsx3oI3vO8sLUbmZmDVRzQZA0C/hpYAdARPwgIr4LrAJ2pW67gNVpeRWwJyKuRsQZYBBYJmkuMCsiDkdEALtzY8zMrEGU/R9cw0DpY0A/cJJs7+A48BhwLiLuzPV7JyJmS/p94OWI+EqK7wAOAGeBbRHxqRT/JPD5iPh0le/ZR7YnQalUWrpnz55R7cPDw9x+++0Tzn3g3OWbzrfRSjPg4vebPYvJ0eq5LJl3R6F+RX++2oFzaU2NyOW+++47HhE91dqm17He6cDHgc9FxBFJv0c6PDSGaucFYpz4jcGIfrIiRE9PT/T29o5qL5fLVMaqeXTzNybs02yblozwxEA9m6d1tHouZx/uLdSv6M9XO3AuranZudRzDmEIGIqII+n9C2QF4mI6DER6vZTrPz83vgs4n+JdVeJmZtZANReEiPgb4E1JH0mhFWSHj/YD61JsHbAvLe8H1kq6TdICspPHRyPiAnBF0vJ0ddEjuTFmZtYg9e7Hfw54VtL7gb8GfpmsyOyVtB54A1gDEBEnJO0lKxojwMaIuJbWswHYCcwgO69woM55mZnZTaqrIETEq0C1kxMrxui/FdhaJX4MWFzPXMzMrD7+pLKZmQEuCGZmlrggmJkZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4IJgZmZJ6z61xKxBugs+MGnnyplTPBOz5vIegpmZAS4IZmaWuCCYmRkwCQVB0jRJfyHpv6X3d0k6KOn19Do713eLpEFJpyXdn4svlTSQ2p5Kj9I0M7MGmow9hMeAU7n3m4FDEbEQOJTeI+leYC2wCFgJPC1pWhqzHegje87ywtRuZmYNVFdBkNQFPAD8QS68CtiVlncBq3PxPRFxNSLOAIPAMklzgVkRcTgiAtidG2NmZg1S72Wnvwv8OvAjuVgpIi4ARMQFSfek+Dzg5Vy/oRR7Ly1Xxm8gqY9sT4JSqUS5XB7VPjw8fEOsmk1LRibs02ylGe0xzyI6JZeiP1/twLm0pmbnUnNBkPRp4FJEHJfUW2RIlViME78xGNEP9AP09PREb+/ob1sul6mMVfNowevOm2nTkhGeGOiMj4l0Si47V84s9PPVDor+rrQD5zJ56vkt/QTwi5J+AfgAMEvSV4CLkuamvYO5wKXUfwiYnxvfBZxP8a4qcTMza6CazyFExJaI6IqIbrKTxS9GxGeA/cC61G0dsC8t7wfWSrpN0gKyk8dH0+GlK5KWp6uLHsmNMTOzBpmK/fhtwF5J64E3gDUAEXFC0l7gJDACbIyIa2nMBmAnMAM4kL7MzKyBJqUgREQZKKfl/w2sGKPfVmBrlfgxYPFkzMXMzGrjTyqbmRnggmBmZkn7Xwto1iAD5y4XumT57LYHGjAbs8nnPQQzMwNcEMzMLHFBMDMzwAXBzMwSFwQzMwNcEMzMLHFBMDMzwAXBzMwSFwQzMwNcEMzMLHFBMDMzwPcyMpt03TfxiFbf98haifcQzMwMqKMgSJov6U8lnZJ0QtJjKX6XpIOSXk+vs3NjtkgalHRa0v25+FJJA6ntqfQoTTMza6B69hBGgE0R8ZPAcmCjpHuBzcChiFgIHErvSW1rgUXASuBpSdPSurYDfWTPWV6Y2s3MrIFqLggRcSEiXknLV4BTwDxgFbArddsFrE7Lq4A9EXE1Is4Ag8AySXOBWRFxOCIC2J0bY2ZmDTIp5xAkdQM/BRwBShFxAbKiAdyTus0D3swNG0qxeWm5Mm5mZg1U91VGkm4Hvgb8akT87TiH/6s1xDjxat+rj+zQEqVSiXK5PKp9eHj4hlg1m5aMTNin2Uoz2mOeRXRKLlORR5Gf16lQ9HelHTiXyVNXQZD0PrJi8GxEfD2FL0qaGxEX0uGgSyk+BMzPDe8Czqd4V5X4DSKiH+gH6Onpid7e3lHt5XKZylg1RR6D2GyblozwxEBnXBXcKblMRR5nH+6d1PUVVfR3pR04l8lTz1VGAnYApyLii7mm/cC6tLwO2JeLr5V0m6QFZCePj6bDSlckLU/rfCQ3xszMGqSeP3c+AfwSMCDp1RT7DWAbsFfSeuANYA1ARJyQtBc4SXaF0saIuJbGbQB2AjOAA+nLrOMV/RCbP8BmjVBzQYiIP6f68X+AFWOM2QpsrRI/BiyudS5mZlY/f1LZzMwAFwQzM0tcEMzMDHBBMDOzxAXBzMwAPw/BrC348lRrBO8hmJkZ4IJgZmaJC4KZmQEuCGZmlrggmJkZ4KuMzDpK0auRdq6cOcUzsXbkPQQzMwNcEMzMLPEhI7Nb0MC5y4WeHOgPut1avIdgZmaA9xDMbBy+ZcatpWX2ECStlHRa0qCkzc2ej5nZraYl9hAkTQP+C/CzwBDwLUn7I+Jkc2dmZkV4T6IztERBAJYBgxHx1wCS9gCrABcEsw5StHDcjE1LRgqdIC/qVi5aiohmzwFJDwIrI+Jfp/e/BPzjiPhsRb8+oC+9/QhwumJVc4C3pni6jeJcWk+n5AHOpVU1Ipe/HxEfqtbQKnsIqhK7oVJFRD/QP+ZKpGMR0TOZE2sW59J6OiUPcC6tqtm5tMpJ5SFgfu59F3C+SXMxM7sltUpB+BawUNICSe8H1gL7mzwnM7NbSkscMoqIEUmfBf47MA14JiJO1LCqMQ8ntSHn0no6JQ9wLq2qqbm0xEllMzNrvlY5ZGRmZk3mgmBmZkAHFYROuvWFpLOSBiS9KulYs+dTlKRnJF2S9Foudpekg5JeT6+zmznHosbI5bcknUvb5VVJv9DMORYhab6kP5V0StIJSY+leNttl3Fyacft8gFJRyV9O+XyH1O8qdulI84hpFtf/BW5W18AD7XrrS8knQV6IqKtPmwj6aeBYWB3RCxOsd8G3o6IbalQz46IzzdznkWMkctvAcMR8TvNnNvNkDQXmBsRr0j6EeA4sBp4lDbbLuPk8q9ov+0iYGZEDEt6H/DnwGPAv6SJ26VT9hD+360vIuIHwPVbX1gDRcRLwNsV4VXArrS8i+wXuOWNkUvbiYgLEfFKWr4CnALm0YbbZZxc2k5khtPb96WvoMnbpVMKwjzgzdz7Idr0ByUJ4JuSjqfbdbSzUkRcgOwXGrinyfOp12cl/WU6pNTyh1nyJHUDPwUcoc23S0Uu0IbbRdI0Sa8Cl4CDEdH07dIpBaHQrS/ayCci4uPAzwMb0+ELa77twI8DHwMuAE80dzrFSbod+BrwqxHxt82eTz2q5NKW2yUirkXEx8juzLBM0uJmz6lTCkJH3foiIs6n10vAH5EdEmtXF9Ox3+vHgC81eT41i4iL6Zf4h8B/pU22SzpG/TXg2Yj4egq35Xaplku7bpfrIuK7QBlYSZO3S6cUhI659YWkmemEGZJmAj8HvDb+qJa2H1iXltcB+5o4l7pc/0VN/gVtsF3SycsdwKmI+GKuqe22y1i5tOl2+ZCkO9PyDOBTwHdo8nbpiKuMANKlZr/L/7/1xdYmT6kmkn6MbK8AsluLfLVdcpH0HNBLdgvfi8DjwB8De4G/B7wBrImIlj9ZO0YuvWSHJQI4C/yb68d7W5Wkfwb8GTAA/DCFf4Ps2HtbbZdxcnmI9tsuHyU7aTyN7A/zvRHxnyTdTRO3S8cUBDMzq0+nHDIyM7M6uSCYmRnggmBmZokLgpmZAS4IZmaWuCCYmRnggmBmZsn/BZ1e/MbkW8O7AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 表示接口调用分布情况，大部分都在10次以内,反映出每分钟调用次数分布情况\n",
    "df['count'].hist(bins = 30)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 切除一天的数据，绘制一天时段的接口调用情况\n",
    "df['2019-5-1']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 凌晨时间无人访问，下午3点为第一个访问高峰期，晚上8，9点，第二个访问高峰\n",
    "# 用count里采样，用一个小时进行采样，图像比较平滑"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "df2 = df['2019-5-1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:00:00</th>\n",
       "      <td>4.428571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 01:00:00</th>\n",
       "      <td>2.272727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 02:00:00</th>\n",
       "      <td>1.833333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 03:00:00</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 04:00:00</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 05:00:00</th>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 06:00:00</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 07:00:00</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 08:00:00</th>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 09:00:00</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 10:00:00</th>\n",
       "      <td>1.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 11:00:00</th>\n",
       "      <td>1.604651</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 12:00:00</th>\n",
       "      <td>3.298246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 13:00:00</th>\n",
       "      <td>6.866667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 14:00:00</th>\n",
       "      <td>10.483333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 15:00:00</th>\n",
       "      <td>12.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 16:00:00</th>\n",
       "      <td>9.916667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 17:00:00</th>\n",
       "      <td>7.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 18:00:00</th>\n",
       "      <td>6.783333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:00:00</th>\n",
       "      <td>9.850000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 20:00:00</th>\n",
       "      <td>11.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 21:00:00</th>\n",
       "      <td>10.416667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 22:00:00</th>\n",
       "      <td>8.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:00:00</th>\n",
       "      <td>5.083333</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         count\n",
       "created_at                    \n",
       "2019-05-01 00:00:00   4.428571\n",
       "2019-05-01 01:00:00   2.272727\n",
       "2019-05-01 02:00:00   1.833333\n",
       "2019-05-01 03:00:00   0.000000\n",
       "2019-05-01 04:00:00   0.000000\n",
       "2019-05-01 05:00:00   2.000000\n",
       "2019-05-01 06:00:00   0.000000\n",
       "2019-05-01 07:00:00   0.000000\n",
       "2019-05-01 08:00:00   0.000000\n",
       "2019-05-01 09:00:00   1.000000\n",
       "2019-05-01 10:00:00   1.400000\n",
       "2019-05-01 11:00:00   1.604651\n",
       "2019-05-01 12:00:00   3.298246\n",
       "2019-05-01 13:00:00   6.866667\n",
       "2019-05-01 14:00:00  10.483333\n",
       "2019-05-01 15:00:00  12.333333\n",
       "2019-05-01 16:00:00   9.916667\n",
       "2019-05-01 17:00:00   7.666667\n",
       "2019-05-01 18:00:00   6.783333\n",
       "2019-05-01 19:00:00   9.850000\n",
       "2019-05-01 20:00:00  11.000000\n",
       "2019-05-01 21:00:00  10.416667\n",
       "2019-05-01 22:00:00   8.000000\n",
       "2019-05-01 23:00:00   5.083333"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2 = df2[['count']].resample('1H').mean()\n",
    "df2.fillna(0,inplace=True)\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制柱状图继续分析\n",
    "plt.figure(figsize = (10, 3)) # 更改图标宽，高营村\n",
    "df2['count'].plot(kind = 'bar')\n",
    "plt.xticks(rotation = 60) # 文字旋转角度\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 分析有无异常时段，访问接口过于频繁，可能存在黑客攻击\n",
    "df['2019-5-1'][['count']].boxplot(showmeans = True, meanline = True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 20:47:09</th>\n",
       "      <td>21</td>\n",
       "      <td>3117.20</td>\n",
       "      <td>84.90</td>\n",
       "      <td>260.82</td>\n",
       "      <td>148.0</td>\n",
       "      <td>2018-11-01 20:47:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:03:09</th>\n",
       "      <td>21</td>\n",
       "      <td>3706.20</td>\n",
       "      <td>78.12</td>\n",
       "      <td>321.47</td>\n",
       "      <td>176.0</td>\n",
       "      <td>2018-11-01 21:03:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:13:09</th>\n",
       "      <td>24</td>\n",
       "      <td>4602.03</td>\n",
       "      <td>76.31</td>\n",
       "      <td>391.12</td>\n",
       "      <td>191.0</td>\n",
       "      <td>2018-11-01 21:13:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-02 21:34:11</th>\n",
       "      <td>30</td>\n",
       "      <td>4610.15</td>\n",
       "      <td>72.49</td>\n",
       "      <td>463.41</td>\n",
       "      <td>153.0</td>\n",
       "      <td>2018-11-02 21:34:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-03 14:20:13</th>\n",
       "      <td>21</td>\n",
       "      <td>3113.93</td>\n",
       "      <td>74.29</td>\n",
       "      <td>266.20</td>\n",
       "      <td>148.0</td>\n",
       "      <td>2018-11-03 14:20:13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:33:21</th>\n",
       "      <td>27</td>\n",
       "      <td>6456.64</td>\n",
       "      <td>99.65</td>\n",
       "      <td>978.91</td>\n",
       "      <td>239.0</td>\n",
       "      <td>2019-05-30 21:33:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:43:21</th>\n",
       "      <td>21</td>\n",
       "      <td>6371.84</td>\n",
       "      <td>65.98</td>\n",
       "      <td>1175.37</td>\n",
       "      <td>303.0</td>\n",
       "      <td>2019-05-30 21:43:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:47:21</th>\n",
       "      <td>21</td>\n",
       "      <td>3992.83</td>\n",
       "      <td>87.83</td>\n",
       "      <td>440.88</td>\n",
       "      <td>190.0</td>\n",
       "      <td>2019-05-30 21:47:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:53:21</th>\n",
       "      <td>24</td>\n",
       "      <td>8467.02</td>\n",
       "      <td>120.22</td>\n",
       "      <td>1511.17</td>\n",
       "      <td>352.0</td>\n",
       "      <td>2019-05-30 21:53:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 22:17:21</th>\n",
       "      <td>21</td>\n",
       "      <td>4926.35</td>\n",
       "      <td>85.01</td>\n",
       "      <td>826.90</td>\n",
       "      <td>234.0</td>\n",
       "      <td>2019-05-30 22:17:21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>746 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 20:47:09     21       3117.20         84.90        260.82   \n",
       "2018-11-01 21:03:09     21       3706.20         78.12        321.47   \n",
       "2018-11-01 21:13:09     24       4602.03         76.31        391.12   \n",
       "2018-11-02 21:34:11     30       4610.15         72.49        463.41   \n",
       "2018-11-03 14:20:13     21       3113.93         74.29        266.20   \n",
       "...                    ...           ...           ...           ...   \n",
       "2019-05-30 21:33:21     27       6456.64         99.65        978.91   \n",
       "2019-05-30 21:43:21     21       6371.84         65.98       1175.37   \n",
       "2019-05-30 21:47:21     21       3992.83         87.83        440.88   \n",
       "2019-05-30 21:53:21     24       8467.02        120.22       1511.17   \n",
       "2019-05-30 22:17:21     21       4926.35         85.01        826.90   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2018-11-01 20:47:09         148.0  2018-11-01 20:47:09  \n",
       "2018-11-01 21:03:09         176.0  2018-11-01 21:03:09  \n",
       "2018-11-01 21:13:09         191.0  2018-11-01 21:13:09  \n",
       "2018-11-02 21:34:11         153.0  2018-11-02 21:34:11  \n",
       "2018-11-03 14:20:13         148.0  2018-11-03 14:20:13  \n",
       "...                           ...                  ...  \n",
       "2019-05-30 21:33:21         239.0  2019-05-30 21:33:21  \n",
       "2019-05-30 21:43:21         303.0  2019-05-30 21:43:21  \n",
       "2019-05-30 21:47:21         190.0  2019-05-30 21:47:21  \n",
       "2019-05-30 21:53:21         352.0  2019-05-30 21:53:21  \n",
       "2019-05-30 22:17:21         234.0  2019-05-30 22:17:21  \n",
       "\n",
       "[746 rows x 6 columns]"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['count'] > 20]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 分析某一天的响应时间，平均响应时间\n",
    "df['2019-5-1']['res_time_avg'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-5-1'][['res_time_avg']].boxplot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\python37\\lib\\site-packages\\ipykernel_launcher.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n",
      "  \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:34:48</th>\n",
       "      <td>1</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.0</td>\n",
       "      <td>2019-05-01 00:34:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 14:00:49</th>\n",
       "      <td>17</td>\n",
       "      <td>19770.18</td>\n",
       "      <td>207.54</td>\n",
       "      <td>2974.52</td>\n",
       "      <td>1162.0</td>\n",
       "      <td>2019-05-01 14:00:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 18:36:49</th>\n",
       "      <td>8</td>\n",
       "      <td>8799.92</td>\n",
       "      <td>96.59</td>\n",
       "      <td>3233.26</td>\n",
       "      <td>1099.0</td>\n",
       "      <td>2019-05-01 18:36:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:09:49</th>\n",
       "      <td>6</td>\n",
       "      <td>7399.94</td>\n",
       "      <td>307.39</td>\n",
       "      <td>3153.02</td>\n",
       "      <td>1233.0</td>\n",
       "      <td>2019-05-01 19:09:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:10:49</th>\n",
       "      <td>13</td>\n",
       "      <td>23595.60</td>\n",
       "      <td>206.20</td>\n",
       "      <td>4664.84</td>\n",
       "      <td>1815.0</td>\n",
       "      <td>2019-05-01 19:10:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 20:38:49</th>\n",
       "      <td>15</td>\n",
       "      <td>16169.25</td>\n",
       "      <td>142.47</td>\n",
       "      <td>3624.26</td>\n",
       "      <td>1077.0</td>\n",
       "      <td>2019-05-01 20:38:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2019-05-01 00:34:48      1       1694.47       1694.47       1694.47   \n",
       "2019-05-01 14:00:49     17      19770.18        207.54       2974.52   \n",
       "2019-05-01 18:36:49      8       8799.92         96.59       3233.26   \n",
       "2019-05-01 19:09:49      6       7399.94        307.39       3153.02   \n",
       "2019-05-01 19:10:49     13      23595.60        206.20       4664.84   \n",
       "2019-05-01 20:38:49     15      16169.25        142.47       3624.26   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2019-05-01 00:34:48        1694.0  2019-05-01 00:34:48  \n",
       "2019-05-01 14:00:49        1162.0  2019-05-01 14:00:49  \n",
       "2019-05-01 18:36:49        1099.0  2019-05-01 18:36:49  \n",
       "2019-05-01 19:09:49        1233.0  2019-05-01 19:09:49  \n",
       "2019-05-01 19:10:49        1815.0  2019-05-01 19:10:49  \n",
       "2019-05-01 20:38:49        1077.0  2019-05-01 20:38:49  "
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2 = df['2019-5-1']\n",
    "df2[df['res_time_avg'] > 1000]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 2019-05-01 00:34:48\t1\t1694.47\t1694.47\t1694.47\t1694.0\t2019-05-01 00:34:48\n",
    "# 此数据分析得为异常值\n",
    "df['2019-5-1'][['res_time_sum', 'res_time_min', 'res_time_max', 'res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAETCAYAAADah9Z7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOydd3zb1bn/30fLsrwd21m2Y8fZxBmQZhCgbAIEAgUKdEAoLeWW3gttubeEDijr9ldaekt7Ly0tIWmB0rTs0FAgZRTIIIGQPex4Jk4cb8uy9vn9IX1l2dbwkG3JPu/Xyy/LR99xZCcfPXrOcz6PkFKiUCgUirGBbqQnoFAoFIrhQ4m+QqFQjCGU6CsUCsUYQom+QqFQjCGU6CsUCsUYQom+QqFQjCEMIz2BaOTk5MiioqKRnoZCoVAkFDt37myQUub2HI970S8qKmLHjh0jPQ2FQqFIKIQQVaHGVXpHoVAoxhBK9BUKhWIMoURfoVAoxhBxn9MPhcvlora2FrvdPtJTUYTAbDaTn5+P0Wgc6akoFIoeJKTo19bWkpaWRlFREUKIkZ6OIggpJY2NjdTW1lJcXDzS01EoFD1IyPSO3W5n3LhxSvDjECEE48aNU5/CFIo4JSFFH1CCH8eov41CEb8krOgrFApFvFHV2MHSRzZT02Qb6amERYl+nPDyyy+zf//+wM8//vGPefvtt0dwRgqFor8cPmnlRJudI/XtIz2VsEQVfSGEWQixXQjxmRBinxDiJ/7x+4UQx4QQu/xflwWds0YIUSaEOCSEuCRo/AwhxB7/c4+LUZIHkFLi9XoHdY2eov/AAw9w4YUXDnZqCoViGGm3uwBosblGeCbh6Uv1jgM4X0ppFUIYgQ+EEJv8z/1SSvnz4IOFEHOAG4DTgEnA20KIGVJKD/AEcBuwFfg7sALYxCD4yWv72H+8bTCX6MWcSencd8VpEY+prKzk0ksv5bzzzmPLli3cdddd/Pa3v8XhcFBSUsLTTz9Namoq99xzD6+++ioGg4GLL76Yn//8572u9dFHH/Hqq6/y3nvv8dBDD/HCCy/w4IMPsnLlSq699lqKior40pe+xDvvvIPL5eLJJ59kzZo1lJWV8Z//+Z/cfvvtADz66KNs2LABh8PB1VdfzU9+8pOQc+/o6OCLX/witbW1eDwefvSjH3H99dcHLC9ycnLYsWMHd999N++++y73338/FRUV1NXVcfjwYR577DG2bt3Kpk2bmDx5Mq+99poqz1QoAKvDDcS36EeN9KUPq/9Ho/8rUmPdVcDzUkqHlLICKAMWCyEmAulSyi3S15j3j8BVg5v+yHLo0CFuuukm3nrrLZ566inefvttPvnkExYtWsRjjz1GU1MTL730Evv27WP37t388Ic/DHmdM888kyuvvJJHH32UXbt2UVJS0uuYgoICtmzZwtlnn83q1av529/+xtatW/nxj38MwJtvvsmRI0fYvn07u3btYufOnbz//vsh7/fGG28wadIkPvvsM/bu3cuKFSuivtby8nJef/11XnnlFb7yla9w3nnnsWfPHpKTk3n99df78VtTKEYv7Xaf6Ld2xq/o96lOXwihB3YC04D/lVJuE0JcCnxbCHETsAP4npSyGZiML5LXqPWPufyPe46Hut9t+D4RUFhYGHFu0SLyoWTKlCksXbqUjRs3sn//fpYvXw6A0+lk2bJlpKenYzab+frXv87ll1/OypUrB3yvK6+8EoDS0lKsVitpaWmkpaVhNptpaWnhzTff5M0332ThwoUAWK1Wjhw5wjnnnNPrWqWlpdx99918//vfZ+XKlZx99tlR73/ppZdiNBopLS3F4/EE3ihKS0uprKwc8OtSKEYTiSD6fVrIlVJ6pJQLgHx8UftcfKmaEmABUAf8wn94qDy9jDAe6n5PSikXSSkX5eb2cgaNG1JSUgBfTv+iiy5i165d7Nq1i/379/PUU09hMBjYvn0711xzDS+//HKfIupwJCUlAaDT6QKPtZ/dbjdSStasWROYQ1lZGbfeemvIa82YMYOdO3dSWlrKmjVreOCBBwAwGAyBtYmedfbB9zcajYGyTO3+CoUiOKfvHOGZhKdf1TtSyhbgXWCFlPKk/83AC/weWOw/rBYoCDotHzjuH88PMZ7wLF26lA8//JCysjIAbDYbhw8fxmq10traymWXXcb//M//sGvXrrDXSEtLo7194Cv+l1xyCWvXrsVq9WXijh07Rn19fchjjx8/jsVi4Stf+Qp33303n3zyCeCzsd65cycAL7zwwoDnolCMVQI5/TiO9KOmd4QQuYBLStkihEgGLgT+nxBiopSyzn/Y1cBe/+NXgeeEEI/hW8idDmyXUnqEEO1CiKXANuAm4Ncxfj0jQm5u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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 改为20分钟采样一次分析\n",
    "data = df['2019-5-1'].resample('20T').mean()\n",
    "data[['res_time_sum', 'res_time_min', 'res_time_max', 'res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 高峰时段为下午2-3点，晚上7-9点，响应时间都在上升"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 评估师填数据\n",
    "df['2019-5-1' : '2019-5-10']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
       "            ...\n",
       "            3, 3, 3, 3, 3, 3, 3, 3, 3, 3],\n",
       "           dtype='int64', name='created_at', length=865)"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['2019-5-2'].index.weekday # 查看当前日期为星期几 0 代表星期一，以此类推"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg           created_at  weekday  \n",
       "created_at                                                       \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07        3  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07        3  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07        3  "
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['weekday'] = df.index.weekday\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "      <th>weekend</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg           created_at  weekday  weekend  \n",
       "created_at                                                                \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3    False  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3    False  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07        3    False  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07        3    False  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07        3    False  "
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 判断是否是周末   （5/6）\n",
    "df['weekend'] = df['weekday'].isin({5, 6})\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend\n",
       "False    7.016846\n",
       "True     7.574989\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 对weekend分组，对count求平均值\n",
    "df.groupby('weekend')['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend  created_at\n",
       "False    0              3.239120\n",
       "         1              1.668388\n",
       "         2              1.162551\n",
       "         3              1.086705\n",
       "         4              1.155556\n",
       "         5              1.136364\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.000000\n",
       "         9              1.080000\n",
       "         10             1.239011\n",
       "         11             2.031690\n",
       "         12             4.195845\n",
       "         13             6.668042\n",
       "         14             8.260503\n",
       "         15             8.934448\n",
       "         16             8.466504\n",
       "         17             6.784996\n",
       "         18             6.717731\n",
       "         19             8.655913\n",
       "         20            10.536496\n",
       "         21            10.846906\n",
       "         22             9.034164\n",
       "         23             5.946834\n",
       "True     0              3.467782\n",
       "         1              1.741849\n",
       "         2              1.161826\n",
       "         3              1.050000\n",
       "         4              1.076923\n",
       "         5              1.333333\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.071429\n",
       "         9              1.144928\n",
       "         10             1.254111\n",
       "         11             1.992958\n",
       "         12             4.031889\n",
       "         13             6.905772\n",
       "         14             8.851321\n",
       "         15             9.858422\n",
       "         16             9.420550\n",
       "         17             7.334743\n",
       "         18             7.342150\n",
       "         19             9.270430\n",
       "         20            11.173609\n",
       "         21            11.695043\n",
       "         22            10.419916\n",
       "         23             7.025452\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 得出周末调用的平均次数多   7.57\n",
    "# 周末那个时间段调用次数比较高\n",
    "df.groupby(['weekend', df.index.hour])['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 周末和非周末，计提时间对比，绘制图形\n",
    "df.groupby(['weekend', df.index.hour])['count'].mean().plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>weekend</th>\n",
       "      <th>False</th>\n",
       "      <th>True</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.239120</td>\n",
       "      <td>3.467782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.668388</td>\n",
       "      <td>1.741849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.162551</td>\n",
       "      <td>1.161826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.086705</td>\n",
       "      <td>1.050000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.155556</td>\n",
       "      <td>1.076923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1.136364</td>\n",
       "      <td>1.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.071429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1.080000</td>\n",
       "      <td>1.144928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1.239011</td>\n",
       "      <td>1.254111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2.031690</td>\n",
       "      <td>1.992958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>4.195845</td>\n",
       "      <td>4.031889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>6.668042</td>\n",
       "      <td>6.905772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>8.260503</td>\n",
       "      <td>8.851321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>8.934448</td>\n",
       "      <td>9.858422</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>8.466504</td>\n",
       "      <td>9.420550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>6.784996</td>\n",
       "      <td>7.334743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>6.717731</td>\n",
       "      <td>7.342150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>8.655913</td>\n",
       "      <td>9.270430</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>10.536496</td>\n",
       "      <td>11.173609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>10.846906</td>\n",
       "      <td>11.695043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9.034164</td>\n",
       "      <td>10.419916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>5.946834</td>\n",
       "      <td>7.025452</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "weekend         False      True \n",
       "created_at                      \n",
       "0            3.239120   3.467782\n",
       "1            1.668388   1.741849\n",
       "2            1.162551   1.161826\n",
       "3            1.086705   1.050000\n",
       "4            1.155556   1.076923\n",
       "5            1.136364   1.333333\n",
       "6            1.000000   1.000000\n",
       "7            1.000000   1.000000\n",
       "8            1.000000   1.071429\n",
       "9            1.080000   1.144928\n",
       "10           1.239011   1.254111\n",
       "11           2.031690   1.992958\n",
       "12           4.195845   4.031889\n",
       "13           6.668042   6.905772\n",
       "14           8.260503   8.851321\n",
       "15           8.934448   9.858422\n",
       "16           8.466504   9.420550\n",
       "17           6.784996   7.334743\n",
       "18           6.717731   7.342150\n",
       "19           8.655913   9.270430\n",
       "20          10.536496  11.173609\n",
       "21          10.846906  11.695043\n",
       "22           9.034164  10.419916\n",
       "23           5.946834   7.025452"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 周末和非周末数据叠加\n",
    "df.groupby(['weekend', df.index.hour])['count'].mean().unstack(level = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.groupby(['weekend', df.index.hour])['count'].mean().unstack(level = 0).plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
